\hypertarget{grid_8h}{
\section{grid.h File Reference}
\label{grid_8h}\index{grid.h@{grid.h}}
}


module permettant la gestion de la grille  


{\ttfamily \#include $<$stdio.h$>$}\par
{\ttfamily \#include $<$stdlib.h$>$}\par
{\ttfamily \#include $<$assert.h$>$}\par
{\ttfamily \#include \char`\"{}mine.h\char`\"{}}\par
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structsGrille}{Grille}
\begin{DoxyCompactList}\small\item\em cree la grille \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{grid_8h_aaf428d5373c23dfe114720f00de84f37}{MINE}~-\/1
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{grid_8h_a8eb3cacbcdf889fdecdddf44926dfd8a}{getNMine} (const Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Fonction: getNMine cette fonctionne retourne le nombre des mines dans le jeu. \item\end{DoxyCompactList}\item 
int \hyperlink{grid_8h_a77278f0983c53c501f166691ecd969aa}{getDimX} (const Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Fonction getDimX cette fonction retourne la dimension en x d'une grille. \item\end{DoxyCompactList}\item 
int \hyperlink{grid_8h_a7d4ac56d12298e1abf86da29ddd747dc}{getDimY} (const Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Fonction getDimY cette fonction retourne la dimension en y d'une grille. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_a99268219352f21fdf2c6b0cc2e1086b2}{setMine} (Grille $\ast$jeu, const int mines)
\begin{DoxyCompactList}\small\item\em Procedure setMine cette procedure modifie une cellule en une mine. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_ad2f1285194da533446e4ad17c99bef16}{setDimX} (Grille $\ast$jeu, const int dimx)
\begin{DoxyCompactList}\small\item\em Procedure setDimX cette procedure modifie la dimension en x de la grille. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_ae9a3980be0ee652f1524c68b0589fe4c}{setDimY} (Grille $\ast$jeu, const int dimy)
\begin{DoxyCompactList}\small\item\em Procedure setDimY cette procedure modifie la dimension en y de la grille. \item\end{DoxyCompactList}\item 
Case \hyperlink{grid_8h_adfd548a2b659cd30011560a2ed8857c9}{getCase} (const Grille $\ast$jeu, const int x, const int y)
\begin{DoxyCompactList}\small\item\em Fonction: getCase cette fonctionne retourne la case de coordonnees x,y. \item\end{DoxyCompactList}\item 
Case $\ast$ \hyperlink{grid_8h_ad0b8a7740920286c3347751f5186cb74}{getCasePtr} (const Grille $\ast$jeu, const int x, const int y)
\begin{DoxyCompactList}\small\item\em Fonction: getCasePtr cette fonctionne retourne un pointeur la case de coordonnees x,y. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_ab1cf358a1c137e1316fe5ab4a40f2ee6}{initGrille} (Grille $\ast$jeu, const int dimx, const int dimy, const int nmine)
\begin{DoxyCompactList}\small\item\em Procedure initGrille cette procedure initialise la grille de jeu. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_a2c980edb2c4003d09f27fe6b412acf29}{detruireGrille} (Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Procedure detruireGrille cette procedure detruit la grille de jeu. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_af14c1d2e65abf1e70162cbc2e6bba962}{placeBombes} (Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Procedure placeBombes cette procedure place de maniere aleatoire une bombe (mine) dans la grille. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_ab4a10243b2ade8e39661ccd1e78c83dd}{compteBombesVoisines} (Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Procedure compteBombesVoisines cette procedure compte les bombes (mines) aux alentours d'une cellule (case). \item\end{DoxyCompactList}\item 
int \hyperlink{grid_8h_ae42d62aec5c3a307741046faebe46430}{calculCasesRestantes} (const Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Fonction calculCasesRestantes cette fonction retourne les cases (cellules) qui ne sont pas des mines (bombes). \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_a5574c7848e4181ef45a6ba64a349d8b0}{decouvrirZero} (Grille $\ast$jeu, const int x, const int y)
\begin{DoxyCompactList}\small\item\em Procedure decouvrirZero Lorsque l'utilisateur clique sur un zero, cette procedure decouvre tous les zeros voisins ainsi que le contour de cette zone. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_afcac7a150830c46cf7df56b85e369b3e}{gestionDrapeau} (Grille $\ast$jeu, const int x, const int y)
\begin{DoxyCompactList}\small\item\em Procedure : gestionDrapeau cette procedure place (ou retire) un drapeau dans le jeu. \item\end{DoxyCompactList}\item 
int \hyperlink{grid_8h_aa39c53ee70d0933ec9237196ebc5b6e0}{traitementGrille} (Grille $\ast$jeu, const int x, const int y)
\begin{DoxyCompactList}\small\item\em Fonction : traitementGrille cette fonction decouvre la case voulue et renvoie le nombre de cases restantes si ce n'est pas une mine. \item\end{DoxyCompactList}\item 
void \hyperlink{grid_8h_abee1dc0e0001ce6bfd173324dcdf9dea}{decouvrirMines} (Grille $\ast$jeu)
\begin{DoxyCompactList}\small\item\em Procedure decouvrirMines cette procedure decouvre les mines dans la grille pour afficher la reponse lorsque le joueur a perdu. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
module permettant la gestion de la grille \begin{DoxyAuthor}{Author}
Romain Montero, Yann M Yemvula 
\end{DoxyAuthor}


\subsection{Define Documentation}
\hypertarget{grid_8h_aaf428d5373c23dfe114720f00de84f37}{
\index{grid.h@{grid.h}!MINE@{MINE}}
\index{MINE@{MINE}!grid.h@{grid.h}}
\subsubsection[{MINE}]{\setlength{\rightskip}{0pt plus 5cm}\#define MINE~-\/1}}
\label{grid_8h_aaf428d5373c23dfe114720f00de84f37}
MINE une mine equivaut a -\/1 

\subsection{Function Documentation}
\hypertarget{grid_8h_ae42d62aec5c3a307741046faebe46430}{
\index{grid.h@{grid.h}!calculCasesRestantes@{calculCasesRestantes}}
\index{calculCasesRestantes@{calculCasesRestantes}!grid.h@{grid.h}}
\subsubsection[{calculCasesRestantes}]{\setlength{\rightskip}{0pt plus 5cm}int calculCasesRestantes (const Grille $\ast$ {\em jeu})}}
\label{grid_8h_ae42d62aec5c3a307741046faebe46430}


Fonction calculCasesRestantes cette fonction retourne les cases (cellules) qui ne sont pas des mines (bombes). 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \end{DoxyParams}
\hypertarget{grid_8h_ab4a10243b2ade8e39661ccd1e78c83dd}{
\index{grid.h@{grid.h}!compteBombesVoisines@{compteBombesVoisines}}
\index{compteBombesVoisines@{compteBombesVoisines}!grid.h@{grid.h}}
\subsubsection[{compteBombesVoisines}]{\setlength{\rightskip}{0pt plus 5cm}void compteBombesVoisines (Grille $\ast$ {\em jeu})}}
\label{grid_8h_ab4a10243b2ade8e39661ccd1e78c83dd}


Procedure compteBombesVoisines cette procedure compte les bombes (mines) aux alentours d'une cellule (case). 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \end{DoxyParams}
\hypertarget{grid_8h_abee1dc0e0001ce6bfd173324dcdf9dea}{
\index{grid.h@{grid.h}!decouvrirMines@{decouvrirMines}}
\index{decouvrirMines@{decouvrirMines}!grid.h@{grid.h}}
\subsubsection[{decouvrirMines}]{\setlength{\rightskip}{0pt plus 5cm}void decouvrirMines (Grille $\ast$ {\em jeu})}}
\label{grid_8h_abee1dc0e0001ce6bfd173324dcdf9dea}


Procedure decouvrirMines cette procedure decouvre les mines dans la grille pour afficher la reponse lorsque le joueur a perdu. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \end{DoxyParams}
\hypertarget{grid_8h_a5574c7848e4181ef45a6ba64a349d8b0}{
\index{grid.h@{grid.h}!decouvrirZero@{decouvrirZero}}
\index{decouvrirZero@{decouvrirZero}!grid.h@{grid.h}}
\subsubsection[{decouvrirZero}]{\setlength{\rightskip}{0pt plus 5cm}void decouvrirZero (Grille $\ast$ {\em jeu}, \/  const int {\em x}, \/  const int {\em y})}}
\label{grid_8h_a5574c7848e4181ef45a6ba64a349d8b0}


Procedure decouvrirZero Lorsque l'utilisateur clique sur un zero, cette procedure decouvre tous les zeros voisins ainsi que le contour de cette zone. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \item[\mbox{$\leftarrow$} {\em x}]la position en x de la cellule zero \item[\mbox{$\leftarrow$} {\em y}]la position en y de la cellule zero \end{DoxyParams}
\hypertarget{grid_8h_a2c980edb2c4003d09f27fe6b412acf29}{
\index{grid.h@{grid.h}!detruireGrille@{detruireGrille}}
\index{detruireGrille@{detruireGrille}!grid.h@{grid.h}}
\subsubsection[{detruireGrille}]{\setlength{\rightskip}{0pt plus 5cm}void detruireGrille (Grille $\ast$ {\em jeu})}}
\label{grid_8h_a2c980edb2c4003d09f27fe6b412acf29}


Procedure detruireGrille cette procedure detruit la grille de jeu. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \end{DoxyParams}
\hypertarget{grid_8h_afcac7a150830c46cf7df56b85e369b3e}{
\index{grid.h@{grid.h}!gestionDrapeau@{gestionDrapeau}}
\index{gestionDrapeau@{gestionDrapeau}!grid.h@{grid.h}}
\subsubsection[{gestionDrapeau}]{\setlength{\rightskip}{0pt plus 5cm}void gestionDrapeau (Grille $\ast$ {\em jeu}, \/  const int {\em x}, \/  const int {\em y})}}
\label{grid_8h_afcac7a150830c46cf7df56b85e369b3e}


Procedure : gestionDrapeau cette procedure place (ou retire) un drapeau dans le jeu. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]: le jeu \item[\mbox{$\leftarrow$} {\em x}]: la position en x de la cellule ou poser(retirer) le drapeau \item[\mbox{$\leftarrow$} {\em y}]: la position en y de la cellule \end{DoxyParams}
\hypertarget{grid_8h_adfd548a2b659cd30011560a2ed8857c9}{
\index{grid.h@{grid.h}!getCase@{getCase}}
\index{getCase@{getCase}!grid.h@{grid.h}}
\subsubsection[{getCase}]{\setlength{\rightskip}{0pt plus 5cm}Case getCase (const Grille $\ast$ {\em jeu}, \/  const int {\em x}, \/  const int {\em y})}}
\label{grid_8h_adfd548a2b659cd30011560a2ed8857c9}


Fonction: getCase cette fonctionne retourne la case de coordonnees x,y. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em jeu}]: le jeu \item[\mbox{$\leftarrow$} {\em x,y}]: les coordonnees de la case demandee \end{DoxyParams}
\begin{DoxyReturn}{Returns}
la case demandee 
\end{DoxyReturn}
\hypertarget{grid_8h_ad0b8a7740920286c3347751f5186cb74}{
\index{grid.h@{grid.h}!getCasePtr@{getCasePtr}}
\index{getCasePtr@{getCasePtr}!grid.h@{grid.h}}
\subsubsection[{getCasePtr}]{\setlength{\rightskip}{0pt plus 5cm}Case$\ast$ getCasePtr (const Grille $\ast$ {\em jeu}, \/  const int {\em x}, \/  const int {\em y})}}
\label{grid_8h_ad0b8a7740920286c3347751f5186cb74}


Fonction: getCasePtr cette fonctionne retourne un pointeur la case de coordonnees x,y. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em jeu}]: le jeu \item[\mbox{$\leftarrow$} {\em x,y}]: les coordonnees de la case demandee \end{DoxyParams}
\begin{DoxyReturn}{Returns}
un pointeur sur la case demandee 
\end{DoxyReturn}
\hypertarget{grid_8h_a77278f0983c53c501f166691ecd969aa}{
\index{grid.h@{grid.h}!getDimX@{getDimX}}
\index{getDimX@{getDimX}!grid.h@{grid.h}}
\subsubsection[{getDimX}]{\setlength{\rightskip}{0pt plus 5cm}int getDimX (const Grille $\ast$ {\em jeu})}}
\label{grid_8h_a77278f0983c53c501f166691ecd969aa}


Fonction getDimX cette fonction retourne la dimension en x d'une grille. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em jeu}]le jeu \end{DoxyParams}
\begin{DoxyReturn}{Returns}
la dimension en x de la grille 
\end{DoxyReturn}
\hypertarget{grid_8h_a7d4ac56d12298e1abf86da29ddd747dc}{
\index{grid.h@{grid.h}!getDimY@{getDimY}}
\index{getDimY@{getDimY}!grid.h@{grid.h}}
\subsubsection[{getDimY}]{\setlength{\rightskip}{0pt plus 5cm}int getDimY (const Grille $\ast$ {\em jeu})}}
\label{grid_8h_a7d4ac56d12298e1abf86da29ddd747dc}


Fonction getDimY cette fonction retourne la dimension en y d'une grille. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em jeu}]le jeu \end{DoxyParams}
\begin{DoxyReturn}{Returns}
la dimension en y de la grille 
\end{DoxyReturn}
\hypertarget{grid_8h_a8eb3cacbcdf889fdecdddf44926dfd8a}{
\index{grid.h@{grid.h}!getNMine@{getNMine}}
\index{getNMine@{getNMine}!grid.h@{grid.h}}
\subsubsection[{getNMine}]{\setlength{\rightskip}{0pt plus 5cm}int getNMine (const Grille $\ast$ {\em jeu})}}
\label{grid_8h_a8eb3cacbcdf889fdecdddf44926dfd8a}


Fonction: getNMine cette fonctionne retourne le nombre des mines dans le jeu. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftarrow$} {\em jeu}]le jeu \end{DoxyParams}
\begin{DoxyReturn}{Returns}
le nombre de mine 
\end{DoxyReturn}
\hypertarget{grid_8h_ab1cf358a1c137e1316fe5ab4a40f2ee6}{
\index{grid.h@{grid.h}!initGrille@{initGrille}}
\index{initGrille@{initGrille}!grid.h@{grid.h}}
\subsubsection[{initGrille}]{\setlength{\rightskip}{0pt plus 5cm}void initGrille (Grille $\ast$ {\em jeu}, \/  const int {\em dimx}, \/  const int {\em dimy}, \/  const int {\em nmine})}}
\label{grid_8h_ab1cf358a1c137e1316fe5ab4a40f2ee6}


Procedure initGrille cette procedure initialise la grille de jeu. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \item[\mbox{$\leftarrow$} {\em dimx}]la dimmension en x \item[\mbox{$\leftarrow$} {\em dimy}]la dimension en y \item[\mbox{$\leftarrow$} {\em nmine}]le nombre de mine \end{DoxyParams}
\hypertarget{grid_8h_af14c1d2e65abf1e70162cbc2e6bba962}{
\index{grid.h@{grid.h}!placeBombes@{placeBombes}}
\index{placeBombes@{placeBombes}!grid.h@{grid.h}}
\subsubsection[{placeBombes}]{\setlength{\rightskip}{0pt plus 5cm}void placeBombes (Grille $\ast$ {\em jeu})}}
\label{grid_8h_af14c1d2e65abf1e70162cbc2e6bba962}


Procedure placeBombes cette procedure place de maniere aleatoire une bombe (mine) dans la grille. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \end{DoxyParams}
\hypertarget{grid_8h_ad2f1285194da533446e4ad17c99bef16}{
\index{grid.h@{grid.h}!setDimX@{setDimX}}
\index{setDimX@{setDimX}!grid.h@{grid.h}}
\subsubsection[{setDimX}]{\setlength{\rightskip}{0pt plus 5cm}void setDimX (Grille $\ast$ {\em jeu}, \/  const int {\em dimx})}}
\label{grid_8h_ad2f1285194da533446e4ad17c99bef16}


Procedure setDimX cette procedure modifie la dimension en x de la grille. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \item[\mbox{$\leftarrow$} {\em dimx}]la dimension en x \end{DoxyParams}
\hypertarget{grid_8h_ae9a3980be0ee652f1524c68b0589fe4c}{
\index{grid.h@{grid.h}!setDimY@{setDimY}}
\index{setDimY@{setDimY}!grid.h@{grid.h}}
\subsubsection[{setDimY}]{\setlength{\rightskip}{0pt plus 5cm}void setDimY (Grille $\ast$ {\em jeu}, \/  const int {\em dimy})}}
\label{grid_8h_ae9a3980be0ee652f1524c68b0589fe4c}


Procedure setDimY cette procedure modifie la dimension en y de la grille. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \item[\mbox{$\leftarrow$} {\em dimy}]la dimension en y \end{DoxyParams}
\hypertarget{grid_8h_a99268219352f21fdf2c6b0cc2e1086b2}{
\index{grid.h@{grid.h}!setMine@{setMine}}
\index{setMine@{setMine}!grid.h@{grid.h}}
\subsubsection[{setMine}]{\setlength{\rightskip}{0pt plus 5cm}void setMine (Grille $\ast$ {\em jeu}, \/  const int {\em mines})}}
\label{grid_8h_a99268219352f21fdf2c6b0cc2e1086b2}


Procedure setMine cette procedure modifie une cellule en une mine. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]le jeu \item[\mbox{$\leftarrow$} {\em mines}]la mine \end{DoxyParams}
\hypertarget{grid_8h_aa39c53ee70d0933ec9237196ebc5b6e0}{
\index{grid.h@{grid.h}!traitementGrille@{traitementGrille}}
\index{traitementGrille@{traitementGrille}!grid.h@{grid.h}}
\subsubsection[{traitementGrille}]{\setlength{\rightskip}{0pt plus 5cm}int traitementGrille (Grille $\ast$ {\em jeu}, \/  const int {\em x}, \/  const int {\em y})}}
\label{grid_8h_aa39c53ee70d0933ec9237196ebc5b6e0}


Fonction : traitementGrille cette fonction decouvre la case voulue et renvoie le nombre de cases restantes si ce n'est pas une mine. 


\begin{DoxyParams}{Parameters}
\item[\mbox{$\leftrightarrow$} {\em jeu}]: le jeu \item[\mbox{$\leftarrow$} {\em x}]: la position en x de la cellule a traiter \item[\mbox{$\leftarrow$} {\em y}]: la position en y de la cellule a traiter \end{DoxyParams}
\begin{DoxyReturn}{Returns}
le nombre de case si l'utilisateur n'a pas clique sur une mine sinon -\/1 (MINE) 
\end{DoxyReturn}
